package com.sojson.project.entity.po;

import java.util.Date;
import java.util.List;

import com.sojson.base.impl.BaseDto;
import com.sojson.enums.core.EGeneralStatus;
import com.sojson.util.DateUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModelProperty.AccessMode;

/**
 * 规格表Bean
 * 
 * @author liu
 * @date 2021-03-22
 */
@ApiModel("规格表Bean")
public class SpecsCate extends BaseDto {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1616394721837L;

    @ApiModelProperty("规格标题")
    private String specsName;
    @ApiModelProperty("商品ID")
    private Integer goodId;
    @ApiModelProperty("是否有缩略图(1:是,2:否)")
    private Integer isThumb;
    @ApiModelProperty("状态1启用 2禁用")
    private Integer status;
    @ApiModelProperty("创建时间")
    private Date createdAt;
    @ApiModelProperty("更新时间")
    private Date updatedAt;
    @ApiModelProperty(value = "规格详细", accessMode = AccessMode.READ_ONLY)
    private SpecsAttr specsAttr;
    @ApiModelProperty(value = "规格详细集合", accessMode = AccessMode.READ_ONLY)
    private List<SpecsAttr> specsAttrs;
    /** 规格表集合 */
    private List<Integer> ids;
    /** 规格表集合 */
    private List<SpecsCate> specsCates;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public SpecsCate() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取 规格标题
     */
    public String getSpecsName() {
        return specsName;
    }

    /**
     * 设置 规格标题
     */
    public void setSpecsName(String specsName) {
        this.specsName = specsName;
    }

    /**
     * 获取 商品ID
     */
    public Integer getGoodId() {
        return goodId;
    }

    /**
     * 设置 商品ID
     */
    public void setGoodId(Integer goodId) {
        this.goodId = goodId;
    }

    /**
     * 获取 是否有缩略图 1是 2否
     */
    public Integer getIsThumb() {
        return isThumb;
    }

    /**
     * 设置 是否有缩略图 1是 2否
     */
    public void setIsThumb(Integer isThumb) {
        this.isThumb = isThumb;
    }

    /**
     * 获取 状态1启用 2禁用
     */
    public Integer getStatus() {
        return status;
    }

    /**
     * 设置 状态1启用 2禁用
     */
    public void setStatus(Integer status) {
        this.status = status;
    }

    /**
     * 获取 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取规格详细
     * 
     * @return
     */
    public SpecsAttr getSpecsAttr() {
        return specsAttr;
    }

    /**
     * 设置规格详细
     * 
     * @param specsAttr
     */
    public void setSpecsAttr(SpecsAttr specsAttr) {
        this.specsAttr = specsAttr;
    }

    /**
     * 获取 规格表集合
     */
    public List<Integer> getIds() {
        return ids;
    }

    /**
     * 设置 规格表集合
     */
    public void setIds(List<Integer> ids) {
        this.ids = ids;
    }

    /**
     * 获取 规格表集合
     */
    public List<SpecsCate> getSpecsCates() {
        return specsCates;
    }

    /**
     * 设置 规格表集合
     */
    public void setSpecsCates(List<SpecsCate> specsCates) {
        this.specsCates = specsCates;
    }

    /**
     * 获取规格详细集合
     * 
     * @return
     */
    public List<SpecsAttr> getSpecsAttrs() {
        return specsAttrs;
    }

    /**
     * 设置规格详细集合
     * 
     * @param specsAttrs
     */
    public void setSpecsAttrs(List<SpecsAttr> specsAttrs) {
        this.specsAttrs = specsAttrs;
    }

    /**
     * 以上由工具自动生成，以下为手动添加
     */

    /**
     * 插入初始化
     */
    public void insertInit() {
        setStatus(EGeneralStatus.NORMAL.getCode());
        Date now = DateUtil.nowDate();
        setCreatedAt(now);
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void updateInit() {
        Date now = DateUtil.nowDate();
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void setUpdateNull() {
        setStatus(null);
        setGoodId(null);
    }

}